/*
 * Copyright (C) 2019-2020 Alibaba Group Holding Limited
 */

#include <csi_core.h>
#include <pinmux.h>
#include "board_config.h"


void board_pinmux_config(void)
{
    /* console */
    drv_pinmux_config(CONSOLE_TXD, CONSOLE_TXD_FUNC);
    drv_pinmux_config(CONSOLE_RXD, CONSOLE_RXD_FUNC);

    /* wifi sdio */
    drv_pinmux_config(WIFI_SDIO_CMD, WIFI_SDIO_CMD_FUNC);
    drv_pinmux_config(WIFI_SDIO_CLK, WIFI_SDIO_CLK_FUNC);
    drv_pinmux_config(WIFI_SDIO_DAT0, WIFI_SDIO_DAT0_FUNC);
    drv_pinmux_config(WIFI_SDIO_DAT1, WIFI_SDIO_DAT1_FUNC);
    drv_pinmux_config(WIFI_SDIO_DAT2, WIFI_SDIO_DAT2_FUNC);
    drv_pinmux_config(WIFI_SDIO_DAT3, WIFI_SDIO_DAT3_FUNC);

    /* BT */
    drv_pinmux_config(BT_UART_TXD, BT_UART_TXD_FUNC);
    drv_pinmux_config(BT_UART_RXD, BT_UART_RXD_FUNC);

    // drv_pinmux_config(USI0_SCLK, USI0_SCLK_FUNC);
    // drv_pinmux_config(USI0_SD0, USI0_SD0_FUNC);

#if defined(CONFIG_LCD_ILI9488) && CONFIG_LCD_ILI9488
    drv_pinmux_config(USI2_SPI_MOSI, USI2_SPI_MOSI_FUNC);
    drv_pinmux_config(USI2_SPI_MISO, USI2_SPI_MISO_FUNC);
    drv_pinmux_config(USI2_SPI_SCLK, USI2_SPI_SCLK_FUNC);
    drv_pinmux_config(SPI_CS, PIN_FUNC_GPIO); // CS
	drv_pinmux_config(SPI_RS, PIN_FUNC_GPIO); // RS
    drv_pinmux_config(SPI_RESET, PIN_FUNC_GPIO); // RESET
#endif
}

void board_init(void)
{
    board_pinmux_config();
}
